package org.finesys.common.log.core.annotation;

import org.finesys.common.log.core.enums.OperateType;

import java.lang.annotation.*;

@Target({ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface LogAnnotation {

    /**
     * 标题
     *
     * @return {String}
     */
    String title() default "";

    /**
     * spel 表达式
     *
     * @return 日志描述
     */
    String expression() default "";

    /**
     * 业务操作类型
     */
    OperateType operateType() default OperateType.OTHER;

    /**
     * 是否保存请求的参数
     */
    boolean isSaveRequestParameters() default true;
}
